home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / var / lib / dpkg / info / console-setup.postinst < prev    next >
Text File  |  2009-10-02  |  4KB  |  159 lines

  1. #!/bin/sh
  2.  
  3. set -e
  4.  
  5. # Source debconf library.
  6. . /usr/share/debconf/confmodule
  7.  
  8. # The same as /usr/bin/which - in order to make this script work
  9. # in environments where "which" is not available
  10. which () {
  11.     local IFS
  12.     IFS=:
  13.     for i in $PATH; do
  14.     if [ -x "$i/$1" ]; then
  15.         echo "$i/$1"
  16.         return 0
  17.     fi
  18.     done
  19.     return 1
  20. }
  21.  
  22. # In order to make this script work in environments where
  23. # "md5sum" is not available
  24. md5sum=`which md5sum`
  25. if [ -z "$md5sum" ]; then
  26.     md5sum=true
  27. fi
  28.  
  29. # In d-i the config script is not executed automatically
  30. if [ -f /usr/share/console-setup-mini/console-setup.config ]; then
  31.     . /usr/share/console-setup-mini/console-setup.config
  32. fi
  33.  
  34. CONFIGDIR=/etc/console-setup
  35. CONFIGFILE=/etc/default/console-setup
  36.  
  37. if [ "$1" = "configure" ]; then
  38.     
  39.     db_get console-setup/codesetcode
  40.     codeset="$RET"
  41.     db_get console-setup/fontface
  42.     fontface="$RET"
  43.     db_get console-setup/fontsize
  44.     fontsize="$RET"
  45.  
  46.     fontname=$codeset-$fontface$fontsize.psf.gz
  47.     
  48.     if which ckbcomp-mini >/dev/null; then
  49.     charmap=UTF-8
  50.     else
  51.     db_get console-setup/charmap
  52.     charmap="${RET:-UTF-8}"
  53.     fi
  54.  
  55.     db_get console-setup/ttys
  56.     ttys="$RET"
  57.  
  58.     db_get console-setup/modelcode
  59.     model="$RET"
  60.  
  61.     db_get console-setup/layoutcode
  62.     layout="$RET"
  63.  
  64.     db_get console-setup/variantcode
  65.     variant="$RET"
  66.  
  67.     db_get console-setup/optionscode
  68.     options="$RET"
  69.  
  70.     if [ "$charmap" != UTF-8 ]; then
  71.     acm=$CONFIGDIR/$charmap.acm.gz
  72.     acm_option="-charmap $charmap"
  73.     else
  74.     acm=''
  75.     acm_option=''
  76.     fi
  77.  
  78.     if [ ! -e $CONFIGFILE ]; then
  79.     cat /usr/share/doc/console-setup/examples/console-setup \
  80.         /usr/share/doc/console-setup-mini/examples/console-setup \
  81.         /usr/share/console-setup-mini/console-setup.proto \
  82.         2>/dev/null >$CONFIGFILE || true
  83.     fi
  84.  
  85.     . $CONFIGFILE || true
  86.  
  87.     if [ "$model" != SKIP ] && which gzip >/dev/null; then
  88.     ckbcomp $acm_option -model "$model" \
  89.         "$layout" "$variant" "$options" \
  90.         | gzip -9 >$CONFIGDIR/cached.kmap.gz
  91.     fi
  92.  
  93.     # Ensure we do not mess up the config file's ownership and permissions.
  94.     cp -a -f $CONFIGFILE $CONFIGFILE.tmp
  95.  
  96.     # If the admin deleted or commented some variables but then set
  97.     # them via debconf, (re-)add them to the conffile.
  98.     for var in \
  99.     ACTIVE_CONSOLES CHARMAP CODESET FONTFACE FONTSIZE \
  100.     XKBMODEL XKBLAYOUT XKBVARIANT XKBOPTIONS
  101.     do
  102.         if ! grep "^ *${var}=" $CONFIGFILE >/dev/null; then
  103.         echo "${var}=" >>$CONFIGFILE
  104.     fi
  105.     done    
  106.     
  107.     sed \
  108.     -e "s|^ *ACTIVE_CONSOLES=.*|ACTIVE_CONSOLES=\"$ttys\"|" \
  109.     -e "s|^ *CHARMAP=.*|CHARMAP=\"$charmap\"|" \
  110.     -e "s|^ *CODESET=.*|CODESET=\"$codeset\"|" \
  111.     -e "s|^ *FONTFACE=.*|FONTFACE=\"$fontface\"|" \
  112.     -e "s|^ *FONTSIZE=.*|FONTSIZE=\"$fontsize\"|" \
  113.     -e "s|^ *XKBMODEL=.*|XKBMODEL=\"$model\"|" \
  114.     -e "s|^ *XKBLAYOUT=.*|XKBLAYOUT=\"$layout\"|" \
  115.     -e "s|^ *XKBVARIANT=.*|XKBVARIANT=\"$variant\"|" \
  116.     -e "s|^ *XKBOPTIONS=.*|XKBOPTIONS=\"$options\"|" \
  117.     <$CONFIGFILE >$CONFIGFILE.tmp
  118.     
  119.     mv -f $CONFIGFILE.tmp $CONFIGFILE
  120. fi
  121.  
  122. # In d-i debhelper doesn't use /etc/init.d scripts :-)
  123. if [ -f /usr/share/console-setup-mini/console-setup.config ]; then
  124.     if [ -d /lib/debian-installer ]; then
  125.     setupcon --force --save
  126.     else
  127.     # setting the font corrupts X
  128.     setupcon --save-only
  129.     setupcon --force -k
  130.     cat >&2 <<EOF
  131. Your console font configuration will be updated the next time your system
  132. boots. If you want to update it now, run 'setupcon' from a virtual console.
  133. EOF
  134.     fi
  135. fi
  136.  
  137. # Automatically added by dh_installinit
  138. if [ -x "/etc/init.d/keyboard-setup" ]; then
  139.     update-rc.d keyboard-setup start 06 S . >/dev/null || exit $?
  140. fi
  141. # End automatically added section
  142. # Automatically added by dh_installinit
  143. if [ -x "/etc/init.d/console-setup" ]; then
  144.     update-rc.d console-setup start 49 S . >/dev/null
  145.     if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
  146.         invoke-rc.d console-setup start || exit $?
  147.     else
  148.         /etc/init.d/console-setup start || exit $?
  149.     fi
  150. fi
  151. # End automatically added section
  152.  
  153.  
  154. if type update-initramfs >/dev/null 2>&1; then
  155.     update-initramfs -u
  156. fi
  157.  
  158. exit 0
  159.